package com.mall.b2c.plugin.search;

import java.util.List;
import java.util.Map;

import com.mall.b2c.domain.goods.GoodsCategoryDomain;
import com.mall.common.hibernate.Finder;

/**
 * 
 * 商品搜索过滤器
 * @author wangzx
 */
public interface IGoodsSearchFilter {
 
	/**
	 * 对搜索条件进行过滤
	 * @param sql 要过滤的sql语句
	 * @param cat 当前搜索的分类，如果为null则搜索全部类别
	 * @pa urlFragment 当前属性的地址栏字串片断,如brand{1}
	 */
	public void filter(Finder finder, GoodsCategoryDomain cat, String urlFragment);
	
	public List<SearchSelector> createSelectorList(GoodsCategoryDomain cat, String url, String urlFragment, Map<String, String> paramMap, String hql, Finder finder);

	/**
	 * 定义过滤器id，和url中的名字匹配，如brand{1}的 为brand
	 * @return
	 */
	public String getFilterId();
	
	/**
	 * 定义过滤器页面取值的ID
	 * @return
	 */
	public String getSysId();
	
}
